import 'package:get_it/get_it.dart';
import 'package:mobile_app.core/injection_container.dart' as core_di;
import 'package:mobile_app.home.core/injection_container.dart' as home_core_di;
import 'package:mobile_app.home.learning.spaced_repetitions/unspecified_lexical_item_obscure_card/domain/use_cases/pronounce_lexical_item/use_case.dart';
import 'package:mobile_app.home.learning.spaced_repetitions/unspecified_lexical_item_obscure_card/domain/use_cases/pronounce_lexical_item_use_case/use_case.dart';

final sl = GetIt.asNewInstance();

Future<void> init() async {
  sl.registerLazySingleton<PronounceLexicalItem>(() {
    return PronounceLexicalItemImpl(
      ttsService: core_di.sl(),
    );
  });

  sl.registerLazySingleton<PronounceLexicalItemUseCase>(() {
    return PronounceLexicalItemUseCaseImpl(
      getLexicalItemUseCaseExample: home_core_di.sl(),
      ttsService: core_di.sl(),
    );
  });
}
